/* 能耗相关接口 */
import request from '@/api/request';
// import type * as energy from '@/api/types/energy'

export enum GartherType {
	/* 项目总能耗 */
	xmznh = "pw",
	/* 单位平方米耗电 */
	dwpfmhd = "ap",
	/* 单位平方米电费 */
	dwpfmdf = "pr",
}

export enum FormatType {
	day = 0,
	month = 1,
	year = 2,
}

export enum OperType {
	//数值
	coun = 0,
	//和
	sum = 1,
	//平均值
	avg = 2,
	//最大值
	max = 3,
	//最小值
	min = 4,
}

export type GatherParams = {
	/** 默认值0 代表分析项目 */
	type : number
	/** pw总电耗  ap单位电耗-㎡  pr电费 */
	keys : string
	/** 开始时间 2025-08-20 */
	startTime : string
	/** 结束时间 2025-08-20 */
	endTime : string
	/** 默认值0 0 日 1月 2年 维度分析 */
	format : FormatType
	/** 默认值1 ---->聚合类型：0:coun 1:sum 2:avg 3:max 4:min */
	oper : OperType
}

// 汇总信息
export const getGarther = (data : GatherParams) => {
	return request({
		method: 'POST',
		url: '/screen/sis',
		data,
	})
}

// 指标信息
export const getPWCRaking = (data) => {
	return request({
		method: 'GET',
		url: '/screen/PWCRaking',
		data,
	})
}

/** 数据-分析数据-标准接口
*	平台通过type_uri_oid_key 查询数据
* 	type:当前对象类型：如21：是温度，50是电表
*	uri:当前对象所在分片地址或服务器
*	oid:当前对象id
*	key: 查询指标
*/
export const getDataByTUOKs = (data) => {
	return request({
		method: 'POST',
		url: '/sisdata/getDataByTUOKs',
		data,
	})
}

//获取用户项目
export const getUserProject = (data) => {
	return request({
		method: 'POST',
		url: '/pm/getUserProject',
		data,
	})
}

//获取项目模块
export const getProjectObjects = (data) => {
	return request({
		method: 'GET',
		url: '/pm/getProjectObjects',
		data,
	})
}

//电量对比
export const getElectricYoy = (data) => {
	return request({
		method: 'GET',
		url: '/electric/yoy',
		data,
	})
}


export type ProjectObjects = {
	code : number;
	modus : ProjectObjectsModus;
}

export type ProjectObjectsModus = {
	[key : string] : ProjectObjectsModusItem[];
}

export type ProjectObjectsModusItem = {
	id : number;
	uri : number;
	name : string;
}


export type DataByTUOKs = {
	[key : string] : DataByTUOKsItem;
}

export type DataByTUOKsItem = {
	key : string;
	time : string;
	value : number;
}